package com.atlzk.common.utils;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author nobaby
 */
public class DateUtil {

   private final Calendar CALENDAR = Calendar.getInstance();
   private SimpleDateFormat FORMAT;

   public static final String COMMON_PATTERN = "yyyy-MM-dd HH:mm:ss";
   public static final String YYYY_MM_DD = "yyyy-MM-dd";
    /**
     * 私有构造
     */
    public DateUtil(Date date) {
        CALENDAR.setTime(date);
    }
    public DateUtil(Date date,String pattern) { CALENDAR.setTime(date);FORMAT = new SimpleDateFormat(pattern); }

    /**
     * 获取秒
     */
    public int getSecond(){
       return CALENDAR.get(Calendar.SECOND);
   }

    /**
     * 获取分钟
     */
    public int getMinute(){
        return CALENDAR.get(Calendar.MINUTE);
    }

    /**
     * 获取时
     */
    public int getHour(){
        return CALENDAR.get(Calendar.HOUR);
    }

    /**
     * 获取天
     */
    public int getDay(){
        return CALENDAR.get(Calendar.DAY_OF_MONTH);
    }

    /**
     * 获取月
     */
    public int getMonth(){
        return CALENDAR.get(Calendar.MONTH)+1;
    }

    /**
     * 获取年
     */
    public int getYear(){
        return CALENDAR.get(Calendar.YEAR);
    }

    /**
     * 获取格式化后的时间
     */
    public String getTime(){
        return FORMAT.format(CALENDAR.getTime());
    }

    /**
     * 转换成DATE
     */
    public Date toDate(){
        return CALENDAR.getTime();
    }

    /**
     * 在时间上加上秒
     */
    public void addSecond(int second){
        CALENDAR.add(Calendar.SECOND,second);
    }

    /**
     * 在时间上加上分
     */
    public void addMinute(int minute){
        CALENDAR.add(Calendar.MINUTE,minute);
    }

    /**
     * 在时间上加上时
     */
    public void addHour(int hour){
        CALENDAR.add(Calendar.HOUR,hour);
    }

    /**
     * 在时间上加上天
     */
    public void addDay(int day){
        CALENDAR.add(Calendar.DAY_OF_MONTH,day);
    }

    /**
     * 在时间上加上月
     */
    public void addMonth(int month){
        CALENDAR.add(Calendar.MONTH,month);
    }

    /**
     * 在时间上加上年
     */
    public void addYear(int year){
        CALENDAR.add(Calendar.YEAR,year);
    }

}
